package com.hfh;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * @Author hfh
 * @Date 2022 09 14 10 48
 **/
public class Demo3 {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Class.forName("com.hfh.Demo3$Student");
        Object instance = clazz.newInstance();//创建学生对象

        Field field = clazz.getField("i"); //获取类的成员字段i
        field.set(instance,100);//将类实例instance的成员字段i设置为100

        Method method = clazz.getMethod( "test",String.class);//通过方法名和形参类型获取类中的方法
        method.invoke(instance,"传入的参数");//通过Method对象的invoke方法来调用方法

    }
    static class Student{
        public int i;

        public void test(String str){
            System.out.println("test"+i);
        }
    }
}
